package top.chmin.project.cloud.common.entity.column.auto;

// field import auto
// #bind.field.id#

import top.chmin.project.cloud.common.entity.*;

/**
 * chmin
 * 2023-12-27 15:10:14
 * cloud-builder
 */
public class EntityColumnFPC extends PreCondition {

    public EntityColumnFPC() {
    }

    public EntityColumnFPC(EntityColumnFPC parent) {
        super(parent);
    }

    public EntityColumnFPC forDelete() {
        type = "DELETE";
        return this;
    }

    public EntityColumnFPC forCount() {
        type = "COUNT";
        return this;
    }

    public EntityColumnFPC forDistinct() {
        type = "DISTINCT";
        return this;
    }

    public EntityColumnFPC limit(int limit) {
        super.limit = limit;
        return this;
    }

    public EntityColumnFPC sub() {
        return new EntityColumnFPC(this);
    }

    public EntityColumnFPC complete(boolean and) {
        finish(and);
        return parent == null ? this : (EntityColumnFPC) parent;
    }

    public Condition toCondition() {
        return toCondition(EntityColumn.class, "bs_entity_column");
    }

    // field fpc auto
// #bind.field.id#
    public Id id() {
        return new Id();
    }

    // #bind.field.tableCode#
    public TableCode tableCode() {
        return new TableCode();
    }
// $bind.field.id$

    // #bind.field.createBy#
    public CreateBy createBy() {
        return new CreateBy();
    }

    // #bind.field.updateExist#
    public UpdateExist updateExist() {
        return new UpdateExist();
    }
// $bind.field.createBy$

    // #bind.field.updateBy#
    public UpdateBy updateBy() {
        return new UpdateBy();
    }

    // #bind.field.detailExist#
    public DetailExist detailExist() {
        return new DetailExist();
    }
// $bind.field.updateBy$

    // #bind.field.createTime#
    public CreateTime createTime() {
        return new CreateTime();
    }

    // #bind.field.pageColumnExist#
    public PageColumnExist pageColumnExist() {
        return new PageColumnExist();
    }
// $bind.field.createTime$

    // #bind.field.updateTime#
    public UpdateTime updateTime() {
        return new UpdateTime();
    }

    // #bind.field.fieldCode#
    public FieldCode fieldCode() {
        return new FieldCode();
    }
// $bind.field.updateTime$

    public class Id extends LongFPCField<EntityColumnFPC> {
        private Id() {
            super(EntityColumnFPC.this, "id");
        }
    }

    public class CreateBy extends StringFPCField<EntityColumnFPC> {
        private CreateBy() {
            super(EntityColumnFPC.this, "create_by");
        }
    }
// $bind.field.tableCode$

    // #bind.field.columnType#
    public ColumnType columnType() {
        return new ColumnType();
    }

    public class UpdateBy extends StringFPCField<EntityColumnFPC> {
        private UpdateBy() {
            super(EntityColumnFPC.this, "update_by");
        }
    }
// $bind.field.columnType$

    // #bind.field.columnLength#
    public ColumnLength columnLength() {
        return new ColumnLength();
    }

    public class CreateTime extends LocalDateTimeFPCField<EntityColumnFPC> {
        private CreateTime() {
            super(EntityColumnFPC.this, "create_time");
        }
    }
// $bind.field.columnLength$

    // #bind.field.columnPrecision#
    public ColumnPrecision columnPrecision() {
        return new ColumnPrecision();
    }

    public class UpdateTime extends LocalDateTimeFPCField<EntityColumnFPC> {
        private UpdateTime() {
            super(EntityColumnFPC.this, "update_time");
        }
    }
// $bind.field.columnPrecision$

    // #bind.field.columnScale#
    public ColumnScale columnScale() {
        return new ColumnScale();
    }

    public class TableCode extends StringFPCField<EntityColumnFPC> {
        private TableCode() {
            super(EntityColumnFPC.this, "table_code");
        }
    }
// $bind.field.columnScale$

    // #bind.field.columnNullable#
    public ColumnNullable columnNullable() {
        return new ColumnNullable();
    }

    public class ColumnType extends StringFPCField<EntityColumnFPC> {
        private ColumnType() {
            super(EntityColumnFPC.this, "column_type");
        }
    }
// $bind.field.columnNullable$

    // #bind.field.fieldName#
    public FieldName fieldName() {
        return new FieldName();
    }

    public class ColumnLength extends IntegerFPCField<EntityColumnFPC> {
        private ColumnLength() {
            super(EntityColumnFPC.this, "column_length");
        }
    }
// $bind.field.fieldName$

    // #bind.field.columnName#
    public ColumnName columnName() {
        return new ColumnName();
    }

    public class ColumnPrecision extends IntegerFPCField<EntityColumnFPC> {
        private ColumnPrecision() {
            super(EntityColumnFPC.this, "column_precision");
        }
    }
// $bind.field.columnName$

    // #bind.field.methodName#
    public MethodName methodName() {
        return new MethodName();
    }

    public class ColumnScale extends IntegerFPCField<EntityColumnFPC> {
        private ColumnScale() {
            super(EntityColumnFPC.this, "column_scale");
        }
    }
// $bind.field.methodName$

    // #bind.field.simpleType#
    public SimpleType simpleType() {
        return new SimpleType();
    }

    public class ColumnNullable extends StringFPCField<EntityColumnFPC> {
        private ColumnNullable() {
            super(EntityColumnFPC.this, "column_nullable");
        }
    }
// $bind.field.simpleType$

    // #bind.field.fullType#
    public FullType fullType() {
        return new FullType();
    }

    public class FieldName extends StringFPCField<EntityColumnFPC> {
        private FieldName() {
            super(EntityColumnFPC.this, "field_name");
        }
    }
// $bind.field.fullType$

    // #bind.field.remark#
    public Remark remark() {
        return new Remark();
    }

    public class ColumnName extends StringFPCField<EntityColumnFPC> {
        private ColumnName() {
            super(EntityColumnFPC.this, "column_name");
        }
    }
// $bind.field.remark$

    // #bind.field.dataOrder#
    public DataOrder dataOrder() {
        return new DataOrder();
    }

    public class MethodName extends StringFPCField<EntityColumnFPC> {
        private MethodName() {
            super(EntityColumnFPC.this, "method_name");
        }
    }
// $bind.field.dataOrder$

    // #bind.field.searchOrder#
    public SearchOrder searchOrder() {
        return new SearchOrder();
    }

    public class SimpleType extends StringFPCField<EntityColumnFPC> {
        private SimpleType() {
            super(EntityColumnFPC.this, "simple_type");
        }
    }
// $bind.field.searchOrder$

    // #bind.field.formOrder#
    public FormOrder formOrder() {
        return new FormOrder();
    }

    public class FullType extends StringFPCField<EntityColumnFPC> {
        private FullType() {
            super(EntityColumnFPC.this, "full_type");
        }
    }
// $bind.field.formOrder$

    // #bind.field.pageColumnOrder#
    public PageColumnOrder pageColumnOrder() {
        return new PageColumnOrder();
    }

    public class Remark extends StringFPCField<EntityColumnFPC> {
        private Remark() {
            super(EntityColumnFPC.this, "remark");
        }
    }
// $bind.field.pageColumnOrder$

    // #bind.field.searchExist#
    public SearchExist searchExist() {
        return new SearchExist();
    }

    public class DataOrder extends IntegerFPCField<EntityColumnFPC> {
        private DataOrder() {
            super(EntityColumnFPC.this, "data_order");
        }
    }
// $bind.field.searchExist$

    // #bind.field.saveExist#
    public SaveExist saveExist() {
        return new SaveExist();
    }

    public class SaveExist extends StringFPCField<EntityColumnFPC> {
        private SaveExist() {
            super(EntityColumnFPC.this, "save_exist");
        }
    }
// $bind.field.saveExist$

    public class SearchOrder extends IntegerFPCField<EntityColumnFPC> {
        private SearchOrder() {
            super(EntityColumnFPC.this, "search_order");
        }
    }

    public class UpdateExist extends StringFPCField<EntityColumnFPC> {
        private UpdateExist() {
            super(EntityColumnFPC.this, "update_exist");
        }
    }
// $bind.field.updateExist$

    public class FormOrder extends IntegerFPCField<EntityColumnFPC> {
        private FormOrder() {
            super(EntityColumnFPC.this, "form_order");
        }
    }

    public class DetailExist extends StringFPCField<EntityColumnFPC> {
        private DetailExist() {
            super(EntityColumnFPC.this, "detail_exist");
        }
    }
// $bind.field.detailExist$

    public class PageColumnOrder extends IntegerFPCField<EntityColumnFPC> {
        private PageColumnOrder() {
            super(EntityColumnFPC.this, "page_column_order");
        }
    }

    public class PageColumnExist extends StringFPCField<EntityColumnFPC> {
        private PageColumnExist() {
            super(EntityColumnFPC.this, "page_column_exist");
        }
    }
// $bind.field.pageColumnExist$

    public class SearchExist extends StringFPCField<EntityColumnFPC> {
        private SearchExist() {
            super(EntityColumnFPC.this, "search_exist");
        }
    }

    public class FieldCode extends StringFPCField<EntityColumnFPC> {
        private FieldCode() {
            super(EntityColumnFPC.this, "field_code");
        }
    }
// $bind.field.fieldCode$

}